package demoMod.invincibleOne.powers;

import com.evacipated.cardcrawl.mod.stslib.powers.abstracts.TwoAmountPower;
import com.megacrit.cardcrawl.core.AbstractCreature;
import com.megacrit.cardcrawl.core.CardCrawlGame;
import com.megacrit.cardcrawl.localization.PowerStrings;
import demoMod.invincibleOne.InvincibleOneMod;
import demoMod.invincibleOne.interfaces.OilApplyHook;
import demoMod.invincibleOne.interfaces.OilExplodeHook;

public class CatalystPower extends TwoAmountPower implements OilApplyHook { // , OilExplodeHook {
    public static final String POWER_ID = InvincibleOneMod.makeID("CatalystPower");
    private static final PowerStrings powerStrings = CardCrawlGame.languagePack.getPowerStrings(POWER_ID);
    public static final String NAME = powerStrings.NAME;
    public static final String[] DESC = powerStrings.DESCRIPTIONS;

    public CatalystPower(AbstractCreature owner, int oilAmount) {
        this.owner = owner;
        this.ID = POWER_ID;
        this.name = NAME;
        this.amount = oilAmount;
        // this.amount2 = explodeAmount;
        this.updateDescription();
        loadRegion("painfulStabs");
        this.type = PowerType.DEBUFF;
        this.priority = 15;
    }

    @Override
    public void updateDescription() {
        this.description = String.format(DESC[0], this.amount);
    }

    @Override
    public int onApplyOil(AbstractCreature target, int amount) {
        return amount + this.amount;
    }

//    @Override
//    public boolean shouldExplode(AbstractCreature target) {
//        return true;
//    }
//
//    @Override
//    public int reduceExplodeAmount(int reduceAmount) {
//        return reduceAmount;
//    }
//
//    @Override
//    public int modifyExplodeDamage(int damageAmount) {
//        return damageAmount;
//    }
//
//    @Override
//    public int modifyExplodeTriggerAmount(int triggerAmount) {
//        return triggerAmount + this.amount2;
//    }
}
